package com.guqin.interview.service;

import com.guqin.interview.model.entity.Question;
import com.guqin.interview.model.vo.QuestionVO;

import java.util.List;

/**
 * 题目推荐服务
 */
public interface QuestionRecommendService {

    /**
     * 基于用户标签推荐题目
     *
     * @param userId 用户ID
     * @param limit 推荐数量
     * @return 推荐的题目列表
     */
    List<QuestionVO> recommendQuestionsByUserTags(Long userId, int limit);

    /**
     * 计算两个标签列表的余弦相似度
     *
     * @param tags1 标签列表1
     * @param tags2 标签列表2
     * @return 相似度分数
     */
    double calculateCosineSimilarity(List<String> tags1, List<String> tags2);
} 